'''
 案例9.13：使用selenium库爬取马蜂窝网站北京所有景点
'''

#导入selenium库和time模块
from selenium import webdriver
import  time
#使用Chrome驱动器，返回浏览器对象
chrome = webdriver.Chrome()
#调用浏览器对象的get方法，传入网页url地址
chrome.maximize_window()  #设置窗口最大化

chrome.implicitly_wait(3) #设置等待3秒后打开目标网页
url="http://www.mafengwo.cn/jd/10065/gonglve.html"
#使用get方法访问网站
chrome.get(url)

#获取用分页总数对象
pageTotal = chrome.find_element_by_css_selector('div._j_tn_pagination > div > span.count > span:nth-child(1)')
#定义空列表准备将所有景点名称存入
spotNames=[]
#模拟点击后一页时，抓取当页景点列表名称保存起来
for i in range(eval(pageTotal.text)-1):
    #获取当前页里的景点名称并添加到列表
    spotName = chrome.find_elements_by_css_selector('div.bd > ul > li > a > h3')
    for item in spotName:
        spotNames.append(item.text)
    #获取后一页链接
    atag = chrome.find_element_by_css_selector('div.m-pagination>a.pg-next')
    #模拟点击后一页
    atag.click()
    #每次点击后等待2秒钟
    time.sleep(2)

#输出爬取的所有景点名称
print(spotNames)
# 退出浏览器
chrome.quit()